Crash occurs during destruction of VT-i domain with PV-on-HVM.
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
{
unsigned long pte;
+ // This function may be called from __gnttab_copy()
+ // during destruction of VT-i domain with PV-on-HVM driver.
+ if (unlikely(d->arch.mm.pgd == NULL)) {
+ if (VMX_DOMAIN(d->vcpu[0]))
+ return INVALID_MFN;
+ }
pte = lookup_domain_mpa(d,gpfn << PAGE_SHIFT, NULL);
if (!pte) {
panic("gmfn_to_mfn_foreign: bad gpfn. spinning...\n");